1. Statement of the Technical Field
The present invention relates to the field of collaborative computing and more particularly to the establishment and maintenance of collaborative computing communities through the implementation of a collaborative computing community model.
2. Description of the Related Art
Collaborative computing provides a means for users to pool their strengths and experiences to achieve a common goal. For example, a common goal may be an educational objective, the completion of a software development project or even creation and use of a system to manage human resources. The establishment of a collaborative computing environment typically involves the creation or definition of a community. The community provides the framework under which the collaborative computing objective is achieved.
A collaborative computing community is defined by (1) a particular context, i.e. the objective of the community, (2) membership, i.e., the participants in the community, and (3) a set of roles for the community members. Roles are names given to the people in the community which dictate access to the community's resources and tools as well as define the behavior of the community members. Community creators or administrators may desire that the specific roles have specific access and policy attributes for the different business components, i.e. tools, resources, etc. within the community.
The notion of a collaborative computing community exists where a group of users share a common goal in which there is an integration of access rights in application components, access rights to data and interaction among roles within the group. This is the case even where no actual collaborative computing hardware and software system exists. For example, there exists a need to provide an efficient way to add new community members who need access to multiple resources, such as databases, within a computing environment system and to provide an efficient way to implement processes to affect behavioral roles such as causing certain actions to be taken which relate to the new members. This need exists independently of the existence and implementation of a collaborative computing system such as IBM's LOTUS WORKPLACE.
As another example, there may be a need for an administrator to manually configure access within the community to add new community members to all appropriate resources within the community. This process is referred to as provisioning. For example, an administrator adding a new user to a company community instance for Business X may be required to add the user to a business discussion forum database, a 401(k) plan database which includes a forum for discussion and information regarding enrollment, a health plan database, a phone number listing database, set up email, etc. Still other persons may then be responsible for initiating other actions such as ordering business cards, ordering desk supplies, etc. As such, the provisioning process can be very time consuming, expensive and onerous but is needed by users who form a community, regardless of whether an actual collaborative computing system is in place.
As noted above, an aspect of a community is the notion of roles. For example, consider a community relating to a software development system where members of the community are collaborating to develop a software product. Roles may include Development Manager, Architect and Software Developer, each of which has a different set of access permissions with respect to collaborative components, i.e. software application instances such as specific databases, forums, etc. which are used by members of the community. Although the different roles have different permissions, members having the same roles generally have the same access to most business component instances within the community. As noted above, current systems require that an administrator separately provision resources for each user added to the community. As such, even though a new member of the community, such as a new employee, may need access to the same business component instances as a colleague having the same role, administrators must still go through the provisioning process.
It is therefore desirable to have a system and method which solves the above-described problems and which provides access to collaborative components in a manner which is reusable within and between different communities, regardless of the existence of a physical collaborative computing system such as WORKPLACE.